package com.niji.littly_donkey_android.util;

import android.content.Context;
import android.icu.text.SimpleDateFormat;
import android.view.View;
import android.widget.TextView;
import com.bigkoo.pickerview.TimePickerView;
import com.niji.littly_donkey_android.R;

import java.util.Calendar;
import java.util.Date;

public class TimePicker {
    /*
     * 时间选择器
     * */
    public static void initTimePicker(Context context, TextView textview) {//选择出生年月日
 
        //控制时间范围(如果不设置范围，则使用默认时间1900-2100年，此段代码可注释)
        //因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11
        Date curDate = new Date(2025,1,1);//获取当前时间
        SimpleDateFormat formatter_year = new SimpleDateFormat("yyyy ");
        String year_str = formatter_year.format(curDate);
        int year_int = (int) Double.parseDouble(year_str);
 
 
        SimpleDateFormat formatter_mouth = new SimpleDateFormat("MM ");
        String mouth_str = formatter_mouth.format(curDate);
        int mouth_int = (int) Double.parseDouble(mouth_str);
 
        SimpleDateFormat formatter_day = new SimpleDateFormat("dd ");
        String day_str = formatter_day.format(curDate);
        int day_int = (int) Double.parseDouble(day_str);
 
        SimpleDateFormat xiaoshi = new SimpleDateFormat("HH ");
        String day_h = xiaoshi.format(curDate);
        int h_int = (int) Double.parseDouble(day_h);
        Calendar selectedDate = Calendar.getInstance();//系统当前时间
        Calendar startDate = Calendar.getInstance();
        startDate.set(1900, 0, 0);
        Calendar endDate = Calendar.getInstance();
        endDate.set(year_int, mouth_int - 1, day_int,h_int,0);
        //时间选择器
        TimePickerView pvTime1 = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {//选中事件回调
                // 这里回调过来的v,就是show()方法里面所添加的 View 参数，如果show的时候没有添加参数，v则为null
                textview.setText(getTime(date));
            }
        })
                .setType(new boolean[]{true, true, true, true, false, false}) //年月日时分秒 的显示与否，不设置则默认全部显示
                .setLabel("年", "月", "日", "时", "分", "")//默认设置为年月日时分秒
                .isCenterLabel(false)
                .setDividerColor(context.getResources().getColor(R.color.xui_config_color_10_pure_black))//black3 颜色值 #333333
                .setTextColorCenter(context.getResources().getColor(R.color.xui_config_color_10_pure_black))//设置选中项的颜色  black3 颜色值 #333333
                .setTextColorOut(context.getResources().getColor(R.color.xui_config_color_10_pure_black))//设置没有被选中项的颜色 grey9  颜色值 #999999
                .setContentSize(21)
                .setDate(selectedDate)
                .setLineSpacingMultiplier(1.2f)
                .setTextXOffset(0, 0,0, 0, 0, 0)//设置X轴倾斜角度[ -90 , 90°]
                .setRangDate(startDate, endDate)
                .setBackgroundId(0x00FFFFFF) //设置外部遮罩颜色
                .setDecorView(null)
                .build();
        pvTime1.show();
    }
    public static String getTime(Date date) {//可根据需要自行截取数据显示
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        return format.format(date);
    }
}